﻿#pragma once
#include "MyTask.g.h"
#include <winrt/Windows.ApplicationModel.Background.h>
#include <winrt/Windows.Networking.BackgroundTransfer.h>
#include <winrt/Windows.UI.Notifications.h>
#include <winrt/Windows.Foundation.Metadata.h>

namespace winrt::RuntimeComponent1::implementation
{
    struct MyTask : MyTaskT<MyTask>
    {
        MyTask() = default;

        void Run(winrt::Windows::ApplicationModel::Background::IBackgroundTaskInstance const& taskInstance);

        void UpdateNotification(const Windows::Networking::BackgroundTransfer::UploadOperation& upload);
        void UpdateNotification(const Windows::Networking::BackgroundTransfer::DownloadOperation& download);
    };
}

namespace winrt::RuntimeComponent1::factory_implementation
{
    struct MyTask : MyTaskT<MyTask, implementation::MyTask>
    {
    };
}